Inferring Needless Write Memory Accesses on Ethereum Bytecode
نویسندگان
چکیده
Abstract Efficiency is a fundamental property of any type program, but it even more so in the context programs executing on blockchain (known as smart contracts ). This because optimizing has direct consequences reducing costs deploying and contracts, there are fees to pay related their bytes-size resource consumption (called gas Optimizing memory usage considered challenging problem that, among other things, requires precise inference locations being accessed. also case for Ethereum Virtual Machine (EVM) bytecode generated by most-widely used compiler, , whose rather unconventional low-level challenges automated reasoning. paper presents static analysis, developed at level EVM that infers write accesses needless thus can be safely removed. The application our implementation than 19,000 real detected about 6,200 less 4 hours. Interestingly, many these writes were involved patterns greatly optimized removing entire blocks bytecodes. To best knowledge, existing optimization tools cannot infer such accesses, hence detect inefficiencies affect both deployment execution contracts.
منابع مشابه
Impact of Transformations on Memory Accesses
This paper presents code transformations designed to take advantage of the potential 2 orders of magnitude bandwidth increase available in a PIM-based architecture. Using an image processing application as a case study, we demonstrate how code transformations can exploit: (1) fine-grain parallelism in the wide-word processing unit to maximize the computation performed on each processor cycle; (...
متن کاملFormalizing Memory Accesses and Interrupts
The hardware/software boundary in modern heterogeneous multicore computers is increasingly complex, and diverse across different platforms. A single memory access by a core or DMA engine traverses multiple hardware translation and caching steps, and the destination memory cell or register often appears at different physical addresses for different cores. Interrupts pass through a complex topolo...
متن کاملMemory model sensitive bytecode verification
Modern concurrent programming languages like C# and Java have a programming language level memory model, which captures the set of all allowed behaviors of programs on any implementation platform — unior multi-processor. Such a memory model is typically weaker than Sequential Consistency and allows reordering of operations within a program thread. Therefore, programs verified correct by assumin...
متن کاملCoordinated concurrent memory accesses on a reconfigurable multimedia processor
Reconfigurable fabrics are designed by tiling operators and memories. In the context of SoC, multiple local memories are critical for algorithmic performance, since they provide concurrent data accesses for configured compute processes. This paper considers a practical case where internal fabric buses and connectivity gives a shared-memory characteristic to the architecture. We rely on static r...
متن کاملImproving Memory Performance for Indirect Accesses on SIMD Computers
SIMD machines operate more efficiently on a wider range of problems when they have the ability to access memory with both global and local addresses. Recent work has made possible the use of caches for global addresses. This paper examines techniques for employing caches to improve memory accesses with local addresses. Specifically, we examine the improvement from utilizing a clusterbased indir...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Lecture Notes in Computer Science
سال: 2023
ISSN: ['1611-3349', '0302-9743']
DOI: https://doi.org/10.1007/978-3-031-30823-9_23